Skip to content

Conversation

@GuanyiLi-Craig
Copy link
Contributor

1: improved async call, safer and more stable
2: improve integration tests

Copilot AI review requested due to automatic review settings December 30, 2025 21:21
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR improves the async workflow execution through better quiescence detection and refactors integration test infrastructure for improved reporting and maintainability.

Key changes:

  • Enhanced AsyncNodeTracker with message-level tracking for accurate quiescence detection
  • Simplified AsyncOutputQueue termination logic by delegating quiescence checks to the tracker
  • Refactored integration test runners to support programmatic execution with structured result reporting

Reviewed changes

Copilot reviewed 26 out of 27 changed files in this pull request and generated 14 comments.

Show a summary per file
File Description
pyproject.toml, uv.lock Version bump from 0.0.33 to 0.0.34
grafi/workflows/impl/async_node_tracker.py Major refactor adding message tracking (published/committed) for accurate quiescence detection; added force stop capability
grafi/workflows/impl/async_output_queue.py Simplified termination logic by delegating quiescence detection to tracker; improved listener implementation
grafi/workflows/impl/event_driven_workflow.py Integrated message tracking into workflow orchestration; added force stop support
grafi/workflows/impl/utils.py Added optional tracker parameter to publish_events for message tracking
tests_integration/run_all.py Refactored to load runners as modules instead of subprocess calls; improved result reporting
tests_integration/*/run_*.py (12 files) Added collect parameter for programmatic execution; improved stdout encoding handling; structured result format
tests/workflow/test_async_node_tracker.py Updated tests for new quiescence detection model
tests/workflow/test_async_output_queue.py Comprehensive new tests for race condition fixes and quiescence behavior
tests/assistants/test_assistant.py Added 8-node DAG workflow test validating complex fan-out/fan-in patterns
tests_integration/hith_assistant/kyc_assistant_example.py Fixed to pass consumed_event_ids for proper event chaining

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@GuanyiLi-Craig GuanyiLi-Craig merged commit fdddcb2 into main Dec 31, 2025
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants